package dbAccess;

import java.util.ArrayList;

import dto.DTOClass;
import dto.DTOContact;

/**
 * @author Jonathan Maret	
 * Interface related to the DTOContact
 * @param <DTOContact>
 */
public interface ContactService<DTOContact> {

	/**
	 * @return all contacts
	 */
	public ArrayList<DTOContact> getAllContact();
	/**
	 * @param visa 
	 * @return The contact with the corresponding visa
	 */
	public DTOContact getContactByVisa(String visa);
	/**
	 * @param id 
	 * @return The contact with the corresponding id
	 */
	public DTOContact getContactById(int id);
	
	/**
	 * update a contact and all related relation
	 * @param contact
	 * @param clasS
	 */
	public void updateContact(DTOContact contact, ArrayList<DTOClass> clasS);
	/**
	 * Remove a contact from the database
	 * @param contact
	 */
	public void removeContact(DTOContact contact);
	
}
